package at.ac.univie.zsu.aguataplan.service;

import java.util.List;

import at.ac.univie.zsu.aguataplan.domain.Club;
import at.ac.univie.zsu.aguataplan.domain.ClubEMail;
import at.ac.univie.zsu.aguataplan.domain.ClubWeb;
import at.ac.univie.zsu.aguataplan.exception.DatabaseException;

/**
 * @author gerry
 * 
 */
public interface ClubManager {

	public void cleanClub() throws DatabaseException;

	public Club addClub(String name) throws DatabaseException;

	public void deleteClub(long id) throws DatabaseException;

	public List<Club> getClubList() throws DatabaseException;

	public Integer getClubListPosition(long id) throws DatabaseException;

	public Club getClubByName(String name);

	public Club mergeClub(Club club) throws DatabaseException;

	public ClubEMail mergeClubEMail(ClubEMail clubEMail) throws DatabaseException;

	public void deleteClubEMail(ClubEMail clubEMail) throws DatabaseException;

	public List<ClubEMail> getClubEMailList(Club club) throws DatabaseException;

	public List<ClubWeb> getClubWebList(Club club) throws DatabaseException;

	public void deleteClubWeb(ClubWeb clubWeb) throws DatabaseException;

	public ClubWeb mergeClubWeb(ClubWeb clubWeb) throws DatabaseException;

}
